flux
Interface IFlux

All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
BoxModelObject, ICapteur
All Known Implementing Classes:
AdaptateurFiltre, AfficheDistribution, AfficheurCarte, AfficheurCourbes, AfficheurCourbesDatees, CapteurFiltre, CapteurInverse, CapteursIndependants, CompareDistribution, CompareProbas, DaterFactory, Default, Demultiplexeur, DescenteDeGradient, Difference, Double2ProbasDate, DoubleDate2DoubleQualite, DoubleQualiteFactory, Flux, FluxDumper, FonctionsMultiples, Fournisseur, FournisseurObservable, LecteurFichier, Localisateur, Localisateur2, Memoire, ModeleAvecActionsContinues, ModeleAvecActionsDiscretes, MoyenneMobile, MoyenneMobileModifiable, MultiSource, Pipe, PointSortie, Predicteur, QMDP, Selecteur, Variations

public interface IFlux
extends java.io.Serializable

Modèle général de flux.

Version:
2, 07/03/2003
Author:
Laurent JEANPIERRE

Method Summary
 void add(int entree, java.lang.Object valeur)
          Introduit une donnée dans cette section du flux.
 void addBlock(int entree, java.util.Collection valeur)
          Introduit un bloc de données dans cette section du flux.
 void changeEntryType(int no, java.lang.Class type)
          Modifie le type dynamique du flux.
 void changeExitType(int no, java.lang.Class type)
          Modifie le type dynamique du flux.
 void connect(int sortie, IFlux autre, int entree)
          Connecte l'une des sorties du flux à une entrée d'une autre section du flux.
 void connectBack(int entree, IFlux autre, int sortie)
          Connecte l'une des entrées du flux à une sortie d'une autre section du flux afin d'obtenir un flux bidirectionnel.
 void disconnect(int index)
          disconnect la sortie index.
 void dumpLocks()
          Liste les modules ayant vérrouillé ce module.
 javax.swing.JPanel getDebugPanel()
          Renvoie un JPanel permettant d'agir sur le fonctionnement du module.
 Entree getEntry(int index)
          Recupère l'interface de l'une des entrées.
 int getEntryNb()
          Combien d'entrées sont disponibles ?
 java.lang.Class getEntryType(int no)
          Renvoie le type des entrées du flux.
 Sortie getExit(int index)
          Recupère l'interface de l'une des sorties.
 int getExitNb()
          Combien de sorties sont disponibles ?
 java.lang.Class getExitType(int no)
          Renvoie le type des sorties du flux.
 BoxModelObject getUse(int broche)
          Renvoie l'un des objets en cours d'utilisation.
 int getUseNb()
          Combien de broches d'utilisation sont disponibles ?
 java.lang.Class getUseType(int no)
          Renvoie le type des broches d'utilisation du flux.
 boolean isUsing(int broche)
          Indique si la broche est en cours d'utilisation.
 void lock(java.lang.Object qui)
          Verrouille l'objet pour modification
 void raz(int entree)
          Signale une remise à zéro du flux.
 void razBlock(int entree, java.util.Collection valeur)
          Modifie les données.
 IFlux twin()
          Crée un clone du flux courant.
 void unlock(java.lang.Object qui)
          Deverrouille l'objet en fin de modification
 void unUse(int broche)
          Libère la broche.
 void use(int broche, java.lang.Object autre)
          Connecte l'une des broches du flux à un autre objet du flux.
 

Method Detail

getUseNb

int getUseNb()
Combien de broches d'utilisation sont disponibles ?

Returns:
le nombre de broches disponibles.

getUseType

java.lang.Class getUseType(int no)
                           throws java.lang.IllegalArgumentException
Renvoie le type des broches d'utilisation du flux.

Parameters:
no - le numéro de la broche interrogé
Returns:
la Class correspondant à la broche no.
Throws:
java.lang.IllegalArgumentException - si no n'est pas entre 0 et getUseNb()-1.

getExitNb

int getExitNb()
Combien de sorties sont disponibles ?

Returns:
le nombre de sorties disponibles.

getExitType

java.lang.Class getExitType(int no)
                            throws java.lang.IllegalArgumentException
Renvoie le type des sorties du flux.

Parameters:
no - le numéro de la sortie interrogé
Returns:
la Class correspondant à la sortie no.
Throws:
java.lang.IllegalArgumentException - si no n'est pas entre 0 et getExitNb()-1.

getEntryNb

int getEntryNb()
Combien d'entrées sont disponibles ?

Returns:
le nombre d'entrées disponibles.

getEntryType

java.lang.Class getEntryType(int no)
                             throws java.lang.IllegalArgumentException
Renvoie le type des entrées du flux.

Parameters:
no - le numéro de l'entrée interrogé
Returns:
la Class correspondant à l'entrée no.
Throws:
java.lang.IllegalArgumentException - si no n'est pas entre 0 et getEntryNb()-1.

add

void add(int entree,
         java.lang.Object valeur)
Introduit une donnée dans cette section du flux.

Parameters:
entree - le numéro de l'entrée à remplir.
valeur - la donnée. Elle doit se conformer au type getEntryType(entree).

addBlock

void addBlock(int entree,
              java.util.Collection valeur)
Introduit un bloc de données dans cette section du flux.

Parameters:
entree - le numéro de l'entrée à remplir.
valeur - les données. Elles doivent toutes se conformer au type getEntryType(entree).

raz

void raz(int entree)
Signale une remise à zéro du flux.

Parameters:
entree - le numéro de l'entrée à réinitialiser.

razBlock

void razBlock(int entree,
              java.util.Collection valeur)
Modifie les données. Equivalent à un raz + addBloc.

Parameters:
entree - le numéro de l'entrée à actualiser.
valeur - les données. Elles doivent toutes se conformer au type getEntryType(entree).

connect

void connect(int sortie,
             IFlux autre,
             int entree)
             throws java.lang.IllegalArgumentException
Connecte l'une des sorties du flux à une entrée d'une autre section du flux.

Parameters:
sortie - le numéro de la sortie à connect.
autre - la section de flux à connect à la sortie.
entree - le numéro de l'entrée de autre à connect sur la sortie.
Throws:
java.lang.IllegalArgumentException - si sortie n'est pas entre 0 et getExitNb()-1.
java.lang.IllegalArgumentException - si entree n'est pas entre 0 et autre.getEntryNb()-1.
java.lang.IllegalArgumentException - si le type de l'entrée ne correspond pas au type de la sortie.

changeEntryType

void changeEntryType(int no,
                     java.lang.Class type)
                     throws java.lang.IllegalAccessException
Modifie le type dynamique du flux.

Parameters:
no - le numéro de l'entrée à modifier.
type - le type dynamique de cette entrée
Throws:
java.lang.IllegalAccessException - si cette entrée est incompatible avec type

changeExitType

void changeExitType(int no,
                    java.lang.Class type)
                    throws java.lang.IllegalAccessException
Modifie le type dynamique du flux.

Parameters:
no - le numéro de la sortie à modifier.
type - le type dynamique de cette sortie
Throws:
java.lang.IllegalAccessException - si cette sortie est incompatible avec type

lock

void lock(java.lang.Object qui)
Verrouille l'objet pour modification

Parameters:
qui - la référence de l'appelant

unlock

void unlock(java.lang.Object qui)
            throws java.lang.IllegalAccessException
Deverrouille l'objet en fin de modification

Parameters:
qui - la référence de l'appelant
Throws:
java.lang.IllegalAccessException - si qui n'a pas verrouillé ce flux.

getEntry

Entree getEntry(int index)
                throws java.lang.IllegalArgumentException
Recupère l'interface de l'une des entrées.

Parameters:
index - le numéro de l'entrées à récupérer.
Returns:
l'Entree gèrant cette entrées.
Throws:
java.lang.IllegalArgumentException - si index n'est pas entre 0 et getEntryNb()-1.

getExit

Sortie getExit(int index)
               throws java.lang.IllegalArgumentException
Recupère l'interface de l'une des sorties.

Parameters:
index - le numéro de la sortie à récupérer.
Returns:
la Sortie gèrant cette sortie.
Throws:
java.lang.IllegalArgumentException - si index n'est pas entre 0 et getExitNb()-1.

disconnect

void disconnect(int index)
disconnect la sortie index.

Parameters:
index - le numéro de la sortie à deconnect.
Throws:
java.lang.IllegalArgumentException - si index n'est pas entre 0 et getExitNb()-1.

twin

IFlux twin()
Crée un clone du flux courant. Toutes les caractèristiques seront recopiées. Aucun lien avec d'autres flux ne sera copié.


use

void use(int broche,
         java.lang.Object autre)
         throws java.lang.IllegalArgumentException
Connecte l'une des broches du flux à un autre objet du flux.

Parameters:
broche - le numéro de la broche à connect.
autre - l'objet à user
Throws:
java.lang.IllegalArgumentException - si broche n'est pas entre 0 et getUseNb()-1.
java.lang.IllegalArgumentException - si le type de autre ne correspond pas au type de la broche.

isUsing

boolean isUsing(int broche)
                throws java.lang.IllegalArgumentException
Indique si la broche est en cours d'utilisation.

Parameters:
broche - le numéro de la broche à tester.
Throws:
java.lang.IllegalArgumentException - si broche n'est pas entre 0 et getUseNb()-1.

getUse

BoxModelObject getUse(int broche)
                      throws java.lang.IllegalArgumentException
Renvoie l'un des objets en cours d'utilisation.

Parameters:
broche - le numéro de la broche à tester.
Throws:
java.lang.IllegalArgumentException - si broche n'est pas entre 0 et getUseNb()-1.

unUse

void unUse(int broche)
           throws java.lang.IllegalArgumentException
Libère la broche.

Parameters:
broche - le numéro de la broche à déconnect.
Throws:
java.lang.IllegalArgumentException - si broche n'est pas entre 0 et getUseNb()-1.

connectBack

void connectBack(int entree,
                 IFlux autre,
                 int sortie)
                 throws java.lang.IllegalArgumentException
Connecte l'une des entrées du flux à une sortie d'une autre section du flux afin d'obtenir un flux bidirectionnel.

Parameters:
entree - le numéro de l'entrée à connect sur la sortie.
autre - la section de flux à connect à la sortie.
sortie - le numéro de la sortie de autre à connect.
Throws:
java.lang.IllegalArgumentException - si entree n'est pas entre 0 et getEntryNb()-1.
java.lang.IllegalArgumentException - si sortie n'est pas entre 0 et autre.getExitNb()-1.
java.lang.IllegalArgumentException - si le type de autre n'est pas acceptable pour un retour.

dumpLocks

void dumpLocks()
Liste les modules ayant vérrouillé ce module. Pour débogage.


getDebugPanel

javax.swing.JPanel getDebugPanel()
Renvoie un JPanel permettant d'agir sur le fonctionnement du module.

Returns:
null si aucun panneau n'est disponible.